// 管理当前项目所有的数据请求
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'
// axios.defaults.headers.common['Authorization'] = localStorage.getItem('token')
const token = localStorage.getItem('token')
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    // console.log(config)
    // startsWith() 字符串的方法, 判断以什么开头
    // 判断如果不是以/api开头,给当前的请求头添加 token 验证
    if (!config.url.startsWith('/api')) {
        config.headers.Authorization = token
    }
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    const {
        message,
        status
    } = response.data
    // layer.msg(message)
    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});
// 用户注册接口
// /api/reguser
// POST
// username	
// password
const RegAPI = (data, callback) => {
    axios({
        method: 'POST',
        url: '/api/reguser',
        data
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}

// 用户登录接口
// /api/login
// POST
// username
// password
const LogAPI = (data, callback) => {
    axios({
        method: 'POST',
        url: '/api/login',
        data,
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}


// 获取用户的基本信息
// /my/userinfo
// GET
const getUserInfoAPI = callback => {
    axios({
        method: 'GET',
        url: '/my/userinfo',
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}

// 更新用户的基本信息
// /my/userinfo
// POST
// id	
// nickname	
// email

const updateUserInfoAPI = (data, callback) => {
    axios({
        method: 'POST',
        url: '/my/userinfo',
        // 自定义请求头
        data
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}

// 重置密码
// /my/updatepwd
// POST
// oldPwd	
// newPwd
const updatePwdAPI = (data, callback) => {
    axios({
        method: 'POST',
        url: '/my/updatepwd',
        data
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}

// 更换头像
// /my/update/avatar
// POST
// avatar
const updateAvatarAPI = (data, callback) => {
    axios({
        method: 'POST',
        url: '/my/update/avatar',
        headers: {
            Authorization: localStorage.getItem('token')
        },
        data
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}

// 获取文章分类列表
// /my/article/cates
// GET
const getArticleAPI = callback => {
    axios({
        method: 'GET',
        url: '/my/article/cates',
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}

// 新增文章分类
// /my/article/addcates
// POST
// name
// alias

const addCateAPI = (data, callback) => {
    axios({
        method: 'POST',
        url: '/my/article/addcates',
        data
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}

// 根据 Id 删除文章分类
// /my/article/deletecate/:id
// GET
// id
const delCateAPI = (Id, callback) => {
    axios({
        method: 'GET',
        url: `/my/article/deletecate/${Id}`,
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}

// 根据 Id 更新文章分类数据
// /my/article/updatecate
// POST
// Id	
// name	
// alias
const updateCateAPI = (data, callback) => {
    axios({
        method: 'POST',
        url: '/my/article/updatecate',
        data
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}



// 发布新文章
// /my/article/add
// POST
// title	
// cate_id	
// content	
// cover_img	
// state
const addArticleAPI = (fd, callback) => {
    axios({
        method: 'POST',
        url: '/my/article/add',
        data: fd
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}

// 获取文章的列表数据
// /my/article/list
// GET
// pagenum	
// pagesize	
// cate_id	
// state
const getArticleListAPI = (params,callback)=>{
    axios({
        method: 'GET',
        params,
        url: '/my/article/list',
    }).then(({
        data: res
    }) => {
        callback(res)
    })
}

